jstl 中<c:out ...使用出现的问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 22:53:22
String names[]={"1","2","3"};
request.setAttribute("names",names);
%>
<c:forEach items="${names}" var="name">
<c:out value="${names}"></c:out>
</c:forEach>
在浏览器中查看,输出不是1,2,3
而是[Ljava.lang.String;@1bde3d2 [Ljava.lang.String;@1bde3d2 [Ljava.lang.String;@1bde3d2
知道原因该如何解决?

jstl这是jsp2.0里的,你怎末跑到这里面来问啊。
晕死~~~!!!!!!!!!!

代码改成:
<c:forEach items="${names}" var="name" varStatus="step">
<c:out value="${name[step]}"></c:out>
</c:forEach>

---------------------------------------
<c:forEach>标签的语法定义如下:
<c:forEach var="name" items="expression" varStatus="name" begin="expression" end="expression" step="expression">
</c:forEach>
var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。类型为String。
items:要进行迭代的集合。
varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息。
begin:如果指定了items,那么迭代就从items[begin]开始进行迭代;如果没有指定items,那么就从begin开始迭代。它的类型为整数。
end:如果指定了items,那么就在items[end]结束迭代;如果没有指定items,那么就在end结束迭代。它的类型也为整数。
step:迭代的步长。
下面列举了<c:forEach>的两种用法
<table>
<tr>
<th>Name</th>
</tr>
<c:forE